<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="app"></div>
</body>
<script src="./js/vue.js"></script>
<script>
    Vue.config.productionTip = false;
    new Vue({
        el:"#app",
        async beforeCreate() {
            await new Promise((resolve, reject)=>{
                setTimeout(()=>{
                    console.log("app beforeCreate");
                    resolve()
                },0)
            })
            //....
        },
        async created(){
            console.log("app created");
        },
        async beforeMount(){
            console.log("app beforeMount");
        },
        async mounted(){
            console.log("app mounted");
        }
    })


   /* function Vue(option){
        const beforeCreate = option.beforeCreate;
        const created = option.created;
        const beforeMount = option.beforeMount;
        const mounted = option.mounted;

        beforeCreate.call(this)
        created.call(this)
        beforeMount.call(this)
        mounted.call(this)
    }*/
</script>
</html>